# 作者: 菅世博
# 2025年02月18日14时58分44秒
# 512326042@qq.com

# 列表生成式
# 列表推导式：用来快速地生成列表。
# 好处：代码比较短
# 坏处：可读性差
# [元素表达式 if(条件) else for 变量 in 迭代对象 ]
# 简单使用
num_list = [i for i in range(100)]  # 生成0-99的列表
print(num_list)

print('-' * 50)
#两个for循环
a = [j for i in range(10) for j in range(i)] # 生成0-9的列表
print(a)
print('-' * 50)
a = [[col*row for col in range(5)] for row in range(5)] # 生成一个5*5的二维数组
print(a)
print('-' * 50)
#带有if条件
a = [x for x in range(10) if x % 2 == 0] # 将只会筛选偶数
print(a)
print('-' * 50)
#带有if else条件
a = [x if x % 2 == 0 else x**2 for x in range(10)] # 将只会筛选偶数
print(a)